<?php
class Pedidos_model extends CI_Model {
    public function __construct() {
        $this->load->database();
    }
    
    public function set_pedido($datos) {
        $this->db->insert('pedidos', $datos);
        return $this->db->insert_id();
    }
    
    public function get_pedido_por_id($idpedido) {
        $query = $this->db->query("SELECT *
                            FROM    
                                pedidos
                            WHERE
                                idPedidos = $idpedido");
        return $query->row_array();
    }
    
    public function get_items_de_un_pedido($idpedido) {
        $query = $this->db->query("SELECT *
                                    FROM
                                        itemspedido
                                    WHERE
                                        idPedido = $idpedido");
        return $query->result_array();
    }
    
    public function set_item_a_pedido($datos) {
        $this->db->insert('itemspedido', $datos);
    }
    
    public function get_pedidos() {
        $query = $this->db->query("SELECT *
                                    FROM
                                        pedidos");
        return $query->result_array();
    }
    
    public function get_pedidos_pendientes() {
        $query = $this->db->query("SELECT p.* 
                                    FROM
                                        pedidos p,
                                        itemspedido ip
                                    WHERE
                                        p.idPedidos = ip.idPedido AND
                                        ip.pendiente = 1
                                    GROUP BY
                                        p.idPedidos");
        return $query->result_array();
    }
    
    public function get_items_pendientes_por_pedido($idpedido) {
        $query = $this->db->query("SELECT *
                                    FROM
                                        itemspedido
                                    WHERE
                                        idPedido = $idpedido AND
                                        pendiente = 1");
        return $query->result_array();
    }
    
    public function get_items_pendientes_por_proveedor($idproveedor) {
        $query = $this->db->query("SELECT 
                                        ic.*, a.codigo, m.*, ma.*, cl.nombre as cliente, ip.idOrdenDeCompra, ip.idItemsPedido
                                    FROM
                                        proveedores p,
                                        consultas c,
                                        itemsconsulta ic,
                                        articulos a,
                                        itemspedido ip,
                                        monedas m,
                                        marcas ma,
                                        pedidos ped,
                                        clientes cl
                                    WHERE
                                        p.idProveedor = c.proveedor AND
                                        c.idconsulta = ic.idconsulta AND
                                        ic.idarticulo = a.idArticulo AND
                                        a.idArticulo = ip.idArticulo AND
                                        ip.idPedido = ped.idPedidos AND
                                        ped.idCliente = cl.idCliente AND
                                        c.moneda = m.idMoneda AND
                                        a.idMarca = ma.idMarca AND
                                        ip.pendiente = 1 AND
                                        p.idProveedor = '$idproveedor'");
        
        return $query->result_array();
    }
    
    public function borrar_pedido_cascada($idpedido) {
        $this->db->delete('itemspedido', array('idPedido' => $idpedido));
        $this->db->delete('pedidos', array('idPedidos' => $idpedido));
    }
    
    public function update_item($datos, $id) {
        $id = array(
            'idItemsPedido' => $id
        );
        
        $this->db->update('itemspedido', $datos, $id);
    }
    
    public function get_item_por_id($iditem) {
        $query = $this->db->query("SELECT *
                                    FROM
                                        itemspedido
                                    WHERE
                                        idItemsPedido = $iditem");
        return $query->row_array();
    }
}
?>
